package br.com.sgpv2.hibernate.impostorenda;

import java.util.List;

import br.com.sgpv2.controler.NegocioExeception;
import br.com.sgpv2.entity.impostorenda.ImpostoRenda;

public interface ImpostoRendaRepository {
	/**
	 * Método que salva uma entidade imposto de renda no banco de dados.
	 */
	void salvar(ImpostoRenda impostoRenda);

	/**
	 * Método que busca uma entidade imposto de renda no banco de dados.
	 */
	ImpostoRenda buscar(Integer pk) throws NegocioExeception;

	/**
	 * Método que altera uma entidade imposto de renda no banco de dados.
	 */
	void alterar(ImpostoRenda impostoRenda);

	/**
	 * Método que altera uma entidade imposto de renda no banco de dados.
	 */
	void saveOrUpdate(ImpostoRenda impostoRenda);

	/**
	 * Método que lista todas as entidades imposto de renda no banco de dados.
	 */
	List<ImpostoRenda> listar();

	/**
	 * Método que exclui uma entidade imposto de renda no banco de dados.
	 */
	void excluir(ImpostoRenda impostoRenda);

	/**
	 * Método que consulta todas os impostos de renda por mês e ano.
	 */
	List<ImpostoRenda> consultarPorMesAno(String mes, String ano);

}
